The present invention relates generally to mobile computing and relates more specifically to context recognition for mobile computing applications.
Context recognition allows the functions of mobile devices to be adapted to better meet the needs of the mobile devices' users. Typically, context recognition involves extracting and recognizing implicit context information from a mobile device's usage situations and environment. For instance, context may be inferred based on the mobile device's location and/or orientation (e.g., as indicated by one or more sensors integrated in the mobile device, such as a location sensor, a camera/imaging element, an accelerometer, or the like). In situations where location and orientation may not be enough to infer context, machine readable labels or tags (e.g., bar codes or matrix codes) may provide additional contextual information.
Mobile devices, however, may not be able to retrieve information from these tags effectively or efficiently due to the limited resources (e.g., computing power, bandwidth, physical memory, and the like) available in their small form factors. What is more, the resources that are available are typically shared by many operations; they cannot be dedicated to capturing, processing, recognizing, and contextualizing images and tags, which are nontrivial tasks that may require additional pre-processing. For instance, the quality of the images captured by most mobile devices is relatively low, and pre-processing may be required to compensate for distortion, blur, skew, low resolution, or the like before the images can be processed further. Moreover, as tags themselves become more complex (e.g., as in the case of matrix codes or multidimensional barcodes), so do the recognition methods required to retrieve information from the tags.